using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using FEL.COM;
using FEL.BOD;
using System.Text;
using System.Collections.Generic;
using System.Web.Services;
using System.Reflection;

public partial class COM_COM_SERVICIO : PaginaBaseFormView
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            string ArticuloId = Request.QueryString.Get("Com_Articulo_Id");
            if (ArticuloId != null)
            {
                fvcom_articulo.DefaultMode = FormViewMode.ReadOnly;
                AsignarParametrosDataSourceDeatailsView(ArticuloId);
            }
        }
       
        fvcom_articulo.DataBound += new EventHandler(fvcom_articulo_DataBound);
        base.Page_Load(sender, e);
        cargarBotones();        
    }

    protected override Type TipoObjeto
    {
        get { return typeof(global::Com_Articulo); }
    }

    protected override FormView Fv
    {
        get { return fvcom_articulo; }
    }

    protected override ObjectDataSource OdsDv
    {
        get { return odsfvcom_articulo; }
    }

    protected override string Contenedor
    {
        get { return "COM_SERVICIO"; }
    }

    private void cargarBotones()
    {
        ButtonListado.Text = GetLocalResourceObject("Btn_Com_Servicio_ListadoRecursoKCG.Text").ToString();
        ButtonListado.ToolTip = GetLocalResourceObject("Btn_Com_Servicio_ListadoRecursoKCG.ToolTip").ToString();
        ButtonAtributo.Text = GetLocalResourceObject("Btn_Com_Servicio_AtributoRecursoKCG.Text").ToString();
        ButtonAtributo.ToolTip = GetLocalResourceObject("Btn_Com_Servicio_AtributoRecursoKCG.ToolTip").ToString();
    }

    void fvcom_articulo_DataBound(object sender, EventArgs e)
    {
        if (fvcom_articulo.CurrentMode == FormViewMode.Insert)
        {
            TextBox _valorTipo = (TextBox)Fv.FindControl("Tipo");
            _valorTipo.Text = "SER";

            ButtonAtributo.Enabled = false;
        }

        else
        {
            ButtonAtributo.Enabled = true;
        }
    }

    protected void Disponible_DataBound(object sender, EventArgs e)
    {
        if (Fv.CurrentMode == FormViewMode.Insert)
        {
            DropDownList ddlDisponible = (DropDownList)sender;
            ddlDisponible.SelectedValue = "S";
        }
    }
    

    protected override void DefinirParametrosFijosDeInsercion(System.Collections.Generic.List<DictionaryEntry> param)
    {
        if (Request.QueryString.Count > 0)
        {
            param.Add(new DictionaryEntry("Com_Articulo_Id", Request.QueryString["Com_Articulo_Id"]));            

        }
        base.DefinirParametrosFijosDeInsercion(param);
    }

    [WebMethod]
    static public string[] GetUnidad(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.BOD.BO_Bod_Unidad BodUnidad = new BO_Bod_Unidad();
        List<Bod_Unidad> litBod_Unidad = BodUnidad.GetByLikeNombre("Nombre", s, prefixText + "%");

        List<string> opciones = new List<string>();
        for (int i = 0; i < litBod_Unidad.Count && i < count; i++)
        {
            string value = litBod_Unidad[i].Id + "||" +
                           litBod_Unidad[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litBod_Unidad[i].Nombre, value));
        }
        return opciones.ToArray();
    }

    [WebMethod]
    static public string[] GetClase(string prefixText, int count)
    {
        if (count == 0) count = 10;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Clase ComClase = new BO_Com_Clase();
        List<Com_Clase> litComClase = ComClase.GetByLikeNombreServicios("Nombre", s, prefixText + "%");

        List<string> opciones = new List<string>();
        for (int i = 0; i < litComClase.Count && i < count; i++)
        {
            string value = litComClase[i].Id + "||" +
                           litComClase[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litComClase[i].Nombre, value));
        }
        return opciones.ToArray();
    }

    [WebMethod]
    static public string[] GetGrupo(string prefixText, int count)
    {
        if (count == 0) count = 10;
        int nivel = 2;

        Scope s = (Scope)HttpContext.Current.Session["Scope"];

        FEL.COM.BO_Com_Grupo ComGrupo = new BO_Com_Grupo();
        List<Com_Grupo> litComGrupo = ComGrupo.GetByLikeNombreServicios("Nombre", s, prefixText + "%", nivel);

        List<string> opciones = new List<string>();
        for (int i = 0; i < litComGrupo.Count && i < count; i++)
        {
            string value = litComGrupo[i].Id + "||" +
                           litComGrupo[i].Codigo;

            opciones.Add(AjaxControlToolkit.AutoCompleteExtender.CreateAutoCompleteItem(litComGrupo[i].Nombre, value));
        }
        return opciones.ToArray();
    }   

    protected void ButtonListado_Click(object sender, EventArgs e)
    {
        TextBox ArticuloId = (TextBox)Fv.FindControl("Id");
        Response.Redirect("~/COM/COM_SERVICIO_LISTADO.aspx?Com_Articulo_Id=" + ArticuloId.Text);

    }

    protected void ButtonAtributo_Click(object sender, EventArgs e)
    {
        TextBox ArticuloId = (TextBox)Fv.FindControl("Id");
        TextBox ArticuloCodigo = (TextBox)Fv.FindControl("Codigo");
        TextBox ArticuloNombre = (TextBox)Fv.FindControl("Nombre");
        Response.Redirect("~/COM/COM_ARTICULO_ATRIBUTO.aspx?Com_Articulo_Id=" + ArticuloId.Text + "&Com_Articulo_Codigo=" + ArticuloCodigo.Text + "&Com_Articulo_Nombre=" + ArticuloNombre.Text);

    }
}
